﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once
#include "GcmpModelInterface.h"
namespace gcmp
{
    class IFilledRegionCloudStandardContentExtractor;

    /// \brief 对象标准数据提取接口类
    class GCMP_MODEL_INTERFACE_EXPORT IElementCloudStandardContentExtractor
    {
    public:
        virtual ~IElementCloudStandardContentExtractor();

    public:
        /// \brief 获取对象标准数据提取接口对象，单例
        ///
        /// \return 对象标准数据提取接口对象指针
        static IElementCloudStandardContentExtractor* Get();

        /// \brief 设置填充区域对象标准数据提取接口类回调
        ///
        /// \param opExtractor 回调对象
        virtual void SetFilledRegionCloudStandardContentExtractor(OwnerPtr<IFilledRegionCloudStandardContentExtractor> opExtractor) = 0;

        /// \brief 获取填充区域对象标准数据提取接口类回调
        /// \return 回调对象
        virtual const IFilledRegionCloudStandardContentExtractor* GetFilledRegionCloudStandardContentExtractor() const = 0;
    };
}
